// 为了能够 取消 fetch，请将 AbortController 的 signal 属性作为 fetch 的一个可选参数进行传递。

const controller = new AbortController()

setTimeout(() => controller.abort(), 1000) // 1 秒后取消请求

try {
	fetch('https://jsonplaceholder.typicode.com/posts', {
		method: 'POST',
		headers: {
			'Content-Type': 'application/json',
			token: 'my-token',
		},
		signal: controller.signal,
	})
} catch (error) {
	if (error.name === 'AbortError') {
		console.log('请求被取消')
	} else {
		throw error
	}
}
